package com.junchenrobot.mes.dao;

import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.junchenrobot.mes.domain.InputTask;
import com.junchenrobot.mes.mapper.InputTaskMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class InputTaskDao {
    
    private final InputTaskMapper inputTaskMapper;
    
    @Autowired
    public InputTaskDao(InputTaskMapper inputTaskMapper) {
        this.inputTaskMapper = inputTaskMapper;
    }
    
    
    /**
     * 插入新任务映射器
     */
    public void insertNewTask(InputTask inputTask) {
        inputTaskMapper.insert(inputTask);
    }
    
    /**
     * 得到任务
     *
     * @param taskCode 任务代码
     * @return {@link InputTask}
     */
    public InputTask getTask(String taskCode) {
        return new LambdaQueryChainWrapper<>(inputTaskMapper).eq(InputTask::getInTaskCode, taskCode)
                                                             .one();
    }
    
    /**
     * 更新任务
     *
     * @param inputTask 装载任务
     */
    public void updateTask(InputTask inputTask) {
        inputTaskMapper.updateById(inputTask);
    }
    
    /**
     * 批量插入装载任务
     *
     * @param inputTaskList 输入任务列表
     */
    public void insertInputTaskBatch(List<InputTask> inputTaskList) {
        inputTaskMapper.insertInputTaskBatch(inputTaskList);
    }
    
    
}
